<?php
/*
auhor:zulad
date:06/06/2012
  
Cette page permet de lancer une sortie  
*/

require_once (DIR_INCLUDE.'/sajax.inc.php');

// 
if(!isLogged())
    {
        redirect('Vous n\'avez pas l\'autorisation d\'être sur cette page', '/index.html');
    }

include DIR_INCLUDE . '/form.inc.php';



		// ici on affiche un texte en hut de la page pour le changer c'esty dans modules/message_haut.php
echo '' . creer_une_sortie . '';

$action = (isset($_GET["action"])) ? strval($_GET["action"]) : "sortircreer.une.sortie";
$lien_index = '<a href="">Accueil</a>';
$lien_retour = '<a href="' . getLienModule("sortir","creer.une.sortie") . '&action=sortircreer.une.sortie">Retour</a>';

// authentification
auth(MEMBRE,true,true);

// debug
//var_dump($_POST);

$select=$data=$heures=$estModifiable=null;

function prendreSelectSuivant($idType)
// prendre select suivant permet de charger les sous activités via sajax
{
    //$tmp = GetArrayFromQuery("SELECT * FROM activite_option WHERE id_editor");
    
    // todo
    
}

// modifier sortie
if($_GET[mId])
{    
    
    $sql='SELECT * FROM activite_sortie WHERE sortie_activite_id='.$_GET['mId'];
    $q = $pdo->query($sql);
    $res = $q->fetch();

    if($_SESSION['id']==$res['organisateur'])
    {
        // on peut ajouter les données au formulaire pour le modifier
        $estModifiable = true;
    }else{
        // l'utilisateur n'a pas le droit d'être sur cette page pour la modifier
        redirect('Vous ne pouvez pas modifier cette sortie','');
    }
}

$isImageValid = true;
if($_POST['video']=="")
{
    if(isset($_FILES['avatar']) && basename($_FILES['avatar']['name']))
    {
        $avatarName = basename($_FILES['avatar']['name']);
        $target = "avatar/".$avatarName ;

        $avatarSize = getimagesize($_FILES['avatar']['tmp_name']);
        $extension_upload = strtolower(substr(  strrchr($_FILES['avatar']['name'], '.')  ,1));

        $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' );

        if($avatarSize[0]>500 || $avatarSize[1]>500)
        {
            $isImageValid = false;
            $messageImage = 'Votre image fait plus de 500 sur 500'; 
        }
        if(!in_array($extension_upload,$extensions_valides))
        {
            $isImageValid = false;
            $messageImage .= 'Votre extension d\'image n\'est pas acceptée'; 
        }

        move_uploaded_file($_FILES['avatar']['tmp_name'],$target);
    }
}    
// enregistrement formulaire
if($_POST['titreSortie'])
{
    
    $tmp = explode("/",$_POST["dateSortie"]);
    $datetime1 = new DateTime($tmp[2].'-'.$tmp[1].'-'.$tmp[0].' 23:59:59.000000');
    $now = new DateTime("now");
    
    $heure = explode("h",$_POST["heureDebutSortie"]);
    
    $isValid = CheckValidInscription($_SESSION['id'], $tmp[2].'-'.$tmp[1].'-'.$tmp[0], intval($heure[0]));

    if((($datetime1 >= $now) && $isValid && $isImageValid) || isset($_GET['mId']))
    {
        
        // cas nouvelle sortie
        if(!$estModifiable)
        {
            $sql = "INSERT INTO activite_sortie SET 
                             
                             membre_id					=:membre_id
                             ,avatar						=:avatar 	 	 	 	 	 	
                             ,video						=:video 	 	 	 	 	 	
                             ,telephone					=:telephone
                             ,typeSortie					=:typeSortie 	 	 	 	 	 	
                             ,titreSortie 				=:titreSortie	 	
                             ,dateSortie					=FROM_UNIXTIME(:dateSortie)	 	 	 	
                             ,heureDebutSortie 			=:heureDebutSortie	 	 	 	 	 	
                             ,heureFinSortie 	 		=:heureFinSortie	
                             ,heureLimiteDesinscription 	=:heureLimiteDesinscription 	 	 	 	 	
                             ,description				=:description				
                             ,lieu 	 					=:lieu	 	 	 	 	
                             ,localite 					=:localite	 	
                             ,precisionSortie			=:precisionSortie		
                             ,participantMax				=:participantMax 	 	 	
                             ,participantMin				=:participantMin 	 	 	
                             ,estPlusieurs				=:estPlusieurs 	 	 	 	
                             ,estHandicape 				=:estHandicape 	
                             ,mail 	 	 				=:mail	
                             ,mailMessage 				=:mailMessage 	 	 	
                             ,envoiInvitation 			=:envoiInvitation
                             ,estDestine					=:estDestine
                             ,penaliteDesinscription		=:penaliteDesinscription
                             ,penaliteEstExcuse			=:penaliteEstExcuse
                             ,penaliteNonExcuse			=:penaliteNonExcuse
                             ,estGratuite				=:estGratuite
                             ,estEnfant					=:estEnfant
                             ,estCouple					=:estCouple
                             ,estCovoiturage				=:estCovoiturage
                             ,estCelibataire				=:estCelibataire
                             ,prix						=:prix
                             ,organisateur				=:organisateur
                             ,itineraire                        =:itineraire
                             ;
                             ";
        
        } else {
            
            $sql = "UPDATE activite_sortie SET 
                
                             membre_id					=:membre_id
                             ,avatar						=:avatar 	 	 	 	 	 	
                             ,video						=:video 	 	 	 	 	 	
                             ,telephone					=:telephone
                             ,typeSortie					=:typeSortie 	 	 	 	 	 	
                             ,titreSortie 				=:titreSortie	 	
                             ,dateSortie					=FROM_UNIXTIME(:dateSortie)	 	 	 	
                             ,heureDebutSortie 			=:heureDebutSortie	 	 	 	 	 	
                             ,heureFinSortie 	 		=:heureFinSortie	
                             ,heureLimiteDesinscription 	=:heureLimiteDesinscription 	 	 	 	 	
                             ,description				=:description				
                             ,lieu 	 					=:lieu	 	 	 	 	
                             ,localite 					=:localite	 	
                             ,precisionSortie			=:precisionSortie		
                             ,participantMax				=:participantMax 	 	 	
                             ,participantMin				=:participantMin 	 	 	
                             ,estPlusieurs				=:estPlusieurs 	 	 	 	
                             ,estHandicape 				=:estHandicape 	
                             ,mail 	 	 				=:mail	
                             ,mailMessage 				=:mailMessage 	 	 	
                             ,envoiInvitation 			=:envoiInvitation
                             ,estDestine					=:estDestine
                             ,penaliteDesinscription		=:penaliteDesinscription
                             ,penaliteEstExcuse			=:penaliteEstExcuse
                             ,penaliteNonExcuse			=:penaliteNonExcuse
                             ,estGratuite				=:estGratuite
                             ,estEnfant					=:estEnfant
                             ,estCouple					=:estCouple
                             ,estCovoiturage				=:estCovoiturage
                             ,estCelibataire				=:estCelibataire
                             ,prix						=:prix
                             ,organisateur				=:organisateur
                             ,itineraire                        =:itineraire
                            WHERE sortie_activite_id=".$_GET['mId'].";";
            
        }
        
        $req = $pdo->prepare($sql);
        
        // date                     
        echo $tmpDate = $tmp[2].'-'.$tmp[1].'-'.$tmp[0]. ' '.trim($heure[0]).':'.($heure[1]?trim($heure[1]):'00').':00';
             $timeStamp = strtotime($tmpDate); 
                             
            $req->bindParam(":membre_id",$_SESSION['id']);
            $req->bindParam(":avatar",$avatarName);
            $req->bindParam(":video",addslashes($_POST["video"]));
            $req->bindParam(":telephone",addslashes($_POST["telephone"]));	// mandatory
            $req->bindParam(":typeSortie",addslashes($_POST["typeSortie"]));	// mandatory
            $req->bindParam(":titreSortie",addslashes($_POST["titreSortie"]));	// mandatory
            $req->bindParam(":dateSortie",addslashes($timeStamp));	// mandatory - $_POST["dateSortie"]
            $req->bindParam(":heureDebutSortie",addslashes($_POST["heureDebutSortie"]));	// mandatory
            $req->bindParam(":heureFinSortie",addslashes($_POST["heureFinSortie"]));	// mandatory
            $req->bindParam(":heureLimiteDesinscription",addslashes($_POST["heureLimiteDesinscription"]));
            $req->bindParam(":description",addslashes($_POST["description"]));
            $req->bindParam(":lieu",addslashes($_POST["lieu"]));	// mandatory
            $req->bindParam(":localite",addslashes($_POST["localite"]));
            $req->bindParam(":participantMax",addslashes($_POST["participantMax"]));
            $req->bindParam(":participantMin",addslashes($_POST["participantMin"]));
            $req->bindParam(":precisionSortie",addslashes($_POST["precisionSortie"]));
            $req->bindParam(":estPlusieurs",addslashes($_POST["estPlusieurs"]));
            $req->bindParam(":estHandicape",addslashes($_POST["estHandicape"]));
            $req->bindParam(":mail",addslashes($_POST["mail"]));
            $req->bindParam(":mailMessage",addslashes($_POST["mailMessage"]));
            $req->bindParam(":envoiInvitation",addslashes($_POST["envoiInvitation"]));

            $req->bindParam(":estDestine",addslashes($_POST["destinataire"]));
            $req->bindParam(":penaliteDesinscription",addslashes($_POST["penaliteDesinscription"]));
            $req->bindParam(":penaliteEstExcuse",addslashes($_POST["penaliteEstExcuse"]));
            $req->bindParam(":penaliteNonExcuse",addslashes($_POST["penaliteNonExcuse"]));
            $req->bindParam(":estGratuite",addslashes($_POST["estGratuite"]));
            $req->bindParam(":estEnfant",addslashes($_POST["estEnfant"]));
            $req->bindParam(":estCouple",addslashes($_POST["estCouple"]));
            $req->bindParam(":estCovoiturage",addslashes($_POST["estCovoiturage"]));
            $req->bindParam(":estCelibataire",addslashes($_POST["estCelibataire"]));
            $req->bindParam(":prix",addslashes($_POST["prixSortie"]));
            $req->bindParam(":organisateur",addslashes($_SESSION['id']));
            
            $str = (addslashes($_POST['it1']).'-2--2-'.addslashes($_POST['it2']).'-2--2-'.addslashes($_POST['it3']).'-2--2-'.addslashes($_POST['it4']).'-2--2-'.addslashes($_POST['it5']).'-2--2-'.addslashes($_POST['it6']));
            $req->bindParam(":itineraire",$str);
            $req->execute();
                             
                // sujet du message en fonction de mod ou crea
                if($estModifiable){
                    $sujet = 'Une sortie a été modifiée';
                } else {
                    $sujet = 'Une nouvelle sortie à été créée'; }

                // envoi d'invitation à votre liste d'amis
                if($_POST['destinataire']==2)
                	SendInvitation($_SESSION['id'], $estModifiable, $_GET['mId']);

				if($estModifiable)
					envoitNewsAuxInscrits($_SESSION['id'], $estModifiable, $_GET['mId']);

                redirect('Votre sortie est enregistrée.','activites-liste.sortie.html');
                            
        } else {
            
                                 // remettre les données dans le formulaire
                                 
                                if(!$isValid)
                                {
                                    // si la sortie n'est pas valide
                                    $textIsNotValid = '$("#cEstValide").html("<font color=\'#f00\'>Vous avez déjà une sortie organisée à cette heure là.</font>");';
                                    
                                }
                                if(!$isImageValid)
                                {
                                    $textIsNotValid .= $messageImage;
                                }
                                
                                // 
                                $itineraire = explode('-2--2-',$_POST['itineraire']);
                                
                                echo $endScript =  '<script>
                                    
                                $(function(){
                                    
                                  $( "#lblDateSortie" ).attr("style","color:#f00;");
                                  $( "#communication" ).html("'.$textIsNotValid.'");
                                  $("#avatar").val(\''.$_POST["avatar"].'\');
                                  $("#video").val(\''.$_POST["video"].'\');
                                  $("#telephone").val(\''.$_POST["telephone"].'\');	
                                  $("#typeSortie").val(\''.$_POST["typeSortie"].'\');
                                  $("#titreSortie").val(\''.$_POST["titreSortie"].'\');
                                  $("#dateSortie").val(\''.$_POST["dateSortie"].'\');	
                                  $("#heureDebutSortie").val(\''.$_POST["heureDebutSortie"].'\');	
                                  $("#heureFinSortie").val(\''.$_POST["heureFinSortie"].'\');        
                                  $("#heureLimiteDesinscription").val(\''.$_POST["heureLimiteDesinscription"].'\');
                                  $("#description").val(\''.$_POST["description"].'\');
                                  $("#lieu").val(\''.$_POST["lieu"].'\');
                                      
                                  $("#it1").val(\''.$_POST["it1"].'\');
                                  $("#it2").val(\''.$_POST["it2"].'\');
                                  $("#it3").val(\''.$_POST["it3"].'\');
                                  $("#it4").val(\''.$_POST["it4"].'\');
                                  $("#it5").val(\''.$_POST["it5"].'\');
                                  $("#it6").val(\''.$_POST["it6"].'\');

                                  $("#localite").val(\''.$_POST["localite"].'\');
                                  $("#participantMax").val(\''.$_POST["participantMax"].'\');
                                  $("#participantMin").val(\''.$_POST["participantMin"].'\');
                                  $("#precisionSortie").val(\''.$_POST["precisionSortie"].'\');
                                  '.($_POST["estPlusieurs"]?'$("#estPlusieurs").attr(\'checked\',\'checked\')':'').'
                                  '.($_POST["estHandicape"]?'$("#estHandicape1").attr(\'checked\',\'checked\')'
                                        :'$("#estHandicape2").attr(\'checked\',\'checked\')').'

                                  '.(($_POST["destinataire"]==1)?'$("#destRadio1").attr(\'checked\',\'checked\')'
                                        :'$("#destRadio2").attr(\'checked\',\'checked\')').'
                                  $("#penaliteDesinscription").val(\''.$_POST["penaliteDesinscription"].'\');
                                  $("#penaliteEstExcuse").val(\''.$_POST["penaliteEstExcuse"].'\');
                                  $("#penaliteNonExcuse").val(\''.$_POST["penaliteNonExcuse"].'\');
                                      
                                  '.($_POST["estFemme"]?'$("#estFemme").attr(\'checked\',\'checked\')':'').'
                                  '.($_POST["estHomme"]?'$("#estHomme").attr(\'checked\',\'checked\')':'').'
                                 '.($_POST["estGratuite"]?'$("#estGratuite").attr(\'checked\',\'checked\')':'').'
                                  '.($_POST["estEnfant"]?'$("#estEnfant").attr(\'checked\',\'checked\')':'').'
								   '.($_POST["estCouple"]?'$("#estCouple").attr(\'checked\',\'checked\')':'').'
                                  '.($_POST["estCelibataire"]?'$("#estCelibataire").attr(\'checked\',\'checked\')':'').'
                                  '.($_POST["estCovoiturage"]?'$("#estCovoiturage").attr(\'checked\',\'checked\')':'').'
                                  '.($_POST["mail"]?'':'$("#mail").attr(\'checked\',\'\')').'
                                  '.($_POST["mailMessage"]?'':'$("#mail").attr(\'checked\',\'\')').'
                                  '.($_POST["envoiInvitation"]?'':'$("#mail").attr(\'checked\',\'\')').'
                                  
                                  $("#prixSortie").val(\''.$_POST["prixSortie"].'\');
                                  
                                  });
                                  
                                </script>';
                             
                             }
    
}

// tmp utx
function GetTypeSortie()
{               
 
        global $pdo;
 
        $stateArr = $pdo->query('SELECT id, value FROM activiter_type');
 
        $str = '<select name="typeSortie" id="typeSortie">
 
                                        <option value="">Votre type de sortie</option>';
 
        foreach($stateArr as $state)
 
        {
 
                $str .= '<option value='.$state[0];
 
                if($data['membre_activiter_type'] == $state[0])
 
                                $str .= ' selected';
 
                $str .= '>'.utf8_decode($state[1]).'</option>';
 
        }
 
        return $str .= '</select>';
 
}
 
include_once(DIR_INCLUDE."/validationScript.inc.php");

// sajax inclusion
sajax_init();
$sajax_debug_mode = 1;
sajax_export("prendreSelectSuivant");
sajax_handle_client_request();

switch($action)
{
	case "sortircreer.une.sortie" :
		
		$strPage = '';

$pseudo = sex2color(id2sex($_SESSION['id']),$_SESSION['id']);
		
		$strPage .=
			// script de validation de formulaire
			$validationCreerSortie
			
			// formulaire de validation
			.'<form action="" method="post" id="thisForm" enctype="multipart/form-data">
			
<div id="tooltip"></div>
					<input type="hidden" value="1" id="status" />';
				
$strPage .='<div class="container_menue parente">
            <div id="t_container_1" class="container_transparent container_visible" onclick="montre(\'container_1\');">Lancer une activité</div>
			<div id="t_container_2" class="container_transparent" onclick="montre(\'container_2\');">Modifier une activité</div>
			</div>

			<div id="container_1" style="display:block">
			<div class="global_container">';
			include "./modules/activites/lancer/organisateur.php";
			include "./modules/activites/lancer/amis.php";
			include "./modules/activites/lancer/bonnus.php";
			include "./modules/activites/lancer/titre_sortie.php";
			include "./modules/activites/lancer/date.php";
			include "./modules/activites/lancer/option.php";
			include "./modules/activites/lancer/description_sortie.php";
			include "./modules/activites/lancer/participant.php";
			include "./modules/activites/lancer/accessible.php";
			include "./modules/activites/lancer/adresse.php";
			include "./modules/activites/lancer/envoyer.php";
 
$strPage .='</div>
            </div>
			<div id="container_2" style="display:none">
			<div class="global_container">
			Modifier une sortie on affiche tout les sortie que le membre a lancer .
			</div>
			</div>

                                        <script type="text/javascript">
                                        
                                            $(function(){
                                                
                                                $(\'#dateSortie\').change(
                                                    
                                                    function() {
                                                        SetHeureSortie();
                                                    }
                                                );

                                                // check date du jour
                                                function SetHeureSortie()
                                                {
                                                   var hds = document.getElementById("heureDebutSortie");
                                                   var datum = $("#dateSortie").val().split("/");
                                                   
                                                   // si jour est identique à now
                                                   if($("#hDay").val() == datum[0])
                                                   {
                                                        for(i=1;i<(parseInt($("#hHour").val())*2);i++)
                                                        {
                                                           hds.children[i].style.display = "none";
                                                        }
                                                   // si jour est different     
                                                   }else{
                                                   
                                                        $("#heureDebutSortie").html($("#heureFinSortie").html());
                                                        document.getElementById("heureDebutSortie").children[0].innerHTML="Heure de debut de sortie";
                                                    }
                                                }

                                            });

                                            // cette function permet de remplir les donnees sur les ids des formulaires
                                            function remplirFormulaire(donnees)
                                            {
                                                $("#bSubmitSortie").val("Modifier la sortie");
                                                $("#titleSortie").html("Modifier la sortie");
                                                var tab = donnees.split("-2--2-");var val="";
                                                
                                                for(i=0;i<tab.length;i++)
                                                {
                                                    var tab2 = tab[i].split(":");

                                                    switch(tab2[0])
                                                    {
                                                        case "dateSortie":
                                                            val = tab2[1].split(" ")[0].split("-");
                                                            $("#"+tab2[0]).val(val[2]+"/"+val[1]+"/"+val[0]);
                                                            break;
                                                        case "estPlusieurs":
                                                            if(tab2[1]==1)
                                                                $("#estPlusieurs").attr("checked","checked");
                                                            else
                                                                $("#estPlusieurs").attr("checked","");
                                                            break;
                                                        case "estHandicape":
                                                            if(tab2[1]==1)
                                                                $("#estHandicape1").attr("checked","checked");
                                                            else
                                                                $("#estHandicape2").attr("checked","checked");
                                                            break;
                                                        case "mail":
                                                            if(tab2[1]==1)
                                                                $("#mail").attr("checked","checked");
                                                            else
                                                                $("#mail").attr("checked","");
                                                            break;
                                                        case "mailMessage":
                                                            if(tab2[1]==1)
                                                                $("#mailMessage").attr("checked","checked");
                                                            else
                                                                $("#mailMessage").attr("checked","");
                                                            break;
                                                        case "envoiInvitation":
                                                            if(tab2[1]==1)
                                                                $("#envoiInvitation").attr("checked","checked");
                                                            else
                                                                $("#envoiInvitation").attr("checked","");
                                                            break;
                                                        case "estDestine":
                                                            if(tab2[1]==1)
                                                                $("#destRadio1").attr("checked","checked");
                                                            else
                                                                $("#destRadio2").attr("checked","checked");
                                                            break;
                                                        case "estGratuite":
                                                            if(tab2[1]==1)
                                                                $("#estGratuite").attr("checked","checked");
                                                            else
                                                                $("#estGratuite").attr("checked","");
                                                            break;
                                                        case "estEnfant":
                                                             if(tab2[1]==1)
                                                                $("#estEnfant").attr("checked","checked");
                                                             else
                                                                $("#estEnfant").attr("checked","");
                                                            break;
                                                        case "estCouple":
                                                            if(tab2[1]==1)
                                                                $("#estCouple").attr("checked","checked");
                                                            else
                                                                $("#estCouple").attr("checked","");
                                                            break;
                                                        case "estCovoiturage":
                                                            if(tab2[1]==1)
                                                                $("#estCovoiturage").attr("checked","checked");
                                                            else
                                                                $("#estCovoiturage").attr("checked","");
                                                            break;
														case "estCelibataire":
                                                            if(tab2[1]==1)
                                                                $("#estCelibataire").attr("checked","checked");
                                                            else
                                                                $("#estCelibataire").attr("checked","");
                                                            break;
                                                        default:
															if(tab2[0]) $("#"+tab2[0]).val(tab2[1]);
                                                            break;
                                                    }
                                                    

                                                }
                                            }
                                            
                                        </script>';
			
        if($estModifiable)
        // remplissage du formulaire sur le mId
        {
            // $res reprend les valeurs de la sortie
            foreach($res as $k=>$v)
            {
                if(!is_numeric($k))
                    $str .= $k.":".$v."-2--2-";
            }
            
            // ici on charge sajax script
             $strPage .=  '<script>'
    		.sajax_get_javascript()
            .'</script>';
            
            // ici on lance la fonction pour remplir le formulaire en javascript
            $strPage .= '<script type="text/javascript">
            
                $(function(){
                    remplirFormulaire("'.$str.'");
                });
                
            </script>'.$endScript;
        }
        
        
		break;
			
	case "sortirmodifier.une.sortie" :

		echo 'modifier la sortie';
		//on propose pour les organisateurs de modifi&eacute; sa sortie
		echo ' l&agrave; il faudra reprendre le code cr&eacute;e une sortie en gardant tout le contenue et ensuite ils pouront modifi&eacute; le texte ou autre chose';
		break;

	case "sortirbrouillon.une.sortie" :

		echo 'mettre la sortie en brouillon';
		//on propose pour les organisateurs de mettre les sorties en brouillon afin qu'il puiss lancer plus tard sa sortie
		echo ' l&agrave; il faudra reprendre le code crée une sortie en gardant tout le contenue et ensuite ils pouront modifi&eacute; le texte ou autre chose';
		break;
	}

        echo set_html_entities($strPage);

?>